import React, { Component } from 'react'

export default class Count extends Component {
  state = {
    count: 0,
  }
  //加法
  increment = () => {
    const { value } = this.selectNum
    // console.log(value, 'value')
    const { count } = this.state
    this.setState({
      count: count + value * 1,
    })
  }
  //减法
  decrement = () => {
    const { value } = this.selectNum
    const { count } = this.state
    this.setState({
      count: count - value * 1,
    })
  }
  //和为奇数的时候再加
  incrementOdd = () => {
    const { value } = this.selectNum
    const { count } = this.state
    if (count % 2 !== 0) {
      this.setState({
        count: count + value * 1,
      })
    }
  }
  //异步的时候加
  incrementAsync = () => {
    const { value } = this.selectNum
    const { count } = this.state
    setTimeout(() => {
      this.setState({
        count: count + value * 1,
      })
    }, 1000)
  }
  render() {
    return (
      <div>
        <h3>当前的和为:{this.state.count}</h3>
        {/* 受控表单 用回掉函数获取数值 */}
        <select
          name=""
          id=""
          ref={(c) => {
            this.selectNum = c
          }}>
          <option value="1">1</option>
          <option value="2">2</option>
          <option value="3">3</option>
        </select>
        <button onClick={this.increment}>+</button>
        <button onClick={this.decrement}>-</button>
        <button onClick={this.incrementOdd}>当前和为奇数再加</button>
        <button onClick={this.incrementAsync}>异步加</button>
      </div>
    )
  }
}
